<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .eee {
            background-color: #baf;
            font-weight: 700;
        }
    </style>
</head>

<body>
    <!-- 第一步，引入react核心库，先有核心库，才能有ReactDOM库 -->
    <script src="../js/react.development.js"></script>
    <!-- 第二步，引入react-dom库，用于操作DOM，这样就有ReactDOM对象，可打印 -->
    <script src="../js/react-dom.development.js"></script>
    <!-- 第三步，引入babel库，用于翻译jsx语法 -->
    <script src="../js/babel.min.js"></script>

    <!-- 第四步，创建一个容器 -->
    <div id="box"></div>

    <script type="text/babel"> /* 指定脚本的类型为babel编译 */

        let kkk = 'myKkk' // 读取类名，直接大括号，不用加引号
        let data = '我的剋剋剋 '// 读取变量也是直接大括号即可
     
        // 第一步，创建虚拟DOM
        const vDom =
            (
                <ul id={kkk}>
                    <li style={{ color: 'red', fontSize: '36px' }}>介绍一</li>
                    <li>{data}</li>
                    <li className='eee'>介绍三</li>
                </ul>
            )

        // 第二步，渲染虚拟DOM
        ReactDOM.render(vDom, document.querySelector('#box'))

        /*
            jsx语法规则：
                1. 创建虚拟DOM时，不要写引号，若有嵌套层级的虚拟DOM，可以使用括号括起来
                2. jsx标签中混入js表达式用单个大括号，不像vue中使用的是双大括号
                3. 样式的类名指定不用class，用className。因为class是es6中的类的关键字，所以就不用class，用className
                4. 内联样式，用双大括号。style={{key:value}}的形式去写
                5. 和vue相似，根标签只能有一个
                6. 标签要闭合
                7. jsx中，写小写标签会把这个小写标签转化成html中的同名标签，要是没有这个同名标签，就报错。要是大写标签
                    jsx就会认为是一个组件，没这个组件也会报错
        */

    </script>


</body>

</html>